/*
 * 1. Model생성.
 * 2. AjaxProxy 생성.
 * 3. Store생성.
 * 4. 데이터 접근.
 */
Ext.setup({
    tabletStartupScreen:"./tabletStartupScreen.png",
    phoneStartupScreen:"./phoneStartupScreen.png",
    tabletIcon:"./tabletIcon.png",
    phoneIcon:"./phoneIcon.png",
    glossOnIcon: true,
    statusBarStyle:"black",
    fullscreen:true,
    preloadImages:[],
    scope:this,
    onReady: function() {
        // 1. Model생성.
        Ext.regModel('User', {
            idProperty:'id',
            fields: [
                {name:'id'},
                {name:'firstName', type: 'string'},
                {name:'lastName',  type: 'string'},
            ]
        });

        var objStoreListener = {
            add:function(){
                console.log("add");
            },
            beforeload:function(){
                console.log("beforeload");
            },
            datachanged:function(){
                console.log("datachanged");
            },
            exception:function(){
                console.log("exception");
            },
            load:function(){
                console.log("load");
                loadData();
            },
            remove:function(){
                console.log("remove___");
            },
            update:function(){
                console.log("loadexception");
            }
        }
        /*
         * 2. proxy생성.
         * - 인스턴스를 만들어도 되고 Store에 직접 작성해도 됨.
         * - Model이름을 프락시에 작성해도 되고 Store에 직접 작성해도 됨.
         */  
        var objProxy = new Ext.data.AjaxProxy({
//        	url: 'http://192.168.0.74:8080/simple-webapp/json', 안된다.... 이유는 모르겠다
        	url: '../json',
            type:'ajax',
            model: 'User',
            reader:{
                type:'json',
//                code:"code",
//                name:"name",
                root:'users'
            }
        });
        // 3. Store생성.
        var dataStore = new Ext.data.JsonStore({
        	model : 'User',
        	encode: 'true',
            proxy: objProxy
        });
        dataStore.load();
        // 4. 데이터 접근.
        function loadData()
        {
            // 데이터 읽기.
            var record              = dataStore.getAt(0);   
            console.log(record);   
            console.log(record.data.id);
            console.log(record.data.firstName);
            console.log(record.data["lastName"]);
        }
        new Ext.List({
                fullscreen: true,
                store:dataStore,
                itemTpl: '<div class="contact2"><strong>{firstName}</strong> {lastName}</div>'
        });
    }
});
